//////////////////////////////////////////////////////////////////////////////
//       Copyright (c) 2003 - RealTime Gaming.  All rights reserved.        //
//////////////////////////////////////////////////////////////////////////////
//
//  This file contains WINAPI functions that take String objects.
//////////////////////////////////////////////////////////////////////////////

#ifndef __WINSTRING__
#define __WINSTRING__

#include "ustring.h"
#include "pathname.h"

PLIBEXP int GetWindowString( HWND hWnd, String& sText, uint32 nMaxChars = 255 );
PLIBEXP int GetWindowText( HWND hWnd, String& sText, uint32 nMaxChars = 255 );
PLIBEXP int GetWindowStringTrimmed( HWND hWnd, String& sText, uint32 nMaxChars = 255 );
PLIBEXP int LoadString(HINSTANCE hInstance, UINT uID, String& sString, uint32 nMaxChars = 255);
PLIBEXP UINT GetDlgItemText(HWND hDlg, int nIDDlgItem, String& s, int nMaxChars = 255);
PLIBEXP DWORD GetModuleFileName(HMODULE hModule, String& lpFilename, DWORD nMaxChars);
PLIBEXP DWORD GetModuleFileName(HMODULE hModule, PathName& lpFilename, DWORD nMaxChars);
PLIBEXP int MessageBox(HWND hWnd, HINSTANCE hInstance, UINT uIDText, UINT uIDCaption, UINT uType, uint32 nMaxChars = 255);
PLIBEXP bool8 ShellGetSpecialFolder(int csidl, String& path);

#endif